package com.dongchedi.utils;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.DigestUtils;

import java.util.List;
import java.util.Map;
import java.util.UUID;
/**
 * @author leibidong
 * @description json转换工具，使数据转为json字符串
 * @date 2021/6/25
 */
public class ResultMessage {


	public static String generateUUID() {
		return UUID.randomUUID().toString().replace("-", "");
	}

	public static String contextPathJudge(String contextPath) {
		return "/".equals(contextPath) ? "" : contextPath;
	}


	public static String getJSONString(int code, String msg, Map<String, ?> map) {
		JSONObject json = new JSONObject();
		json.put("code", code);   //状态码
		json.put("msg", msg);     //描述信息
		JSONObject json1 = new JSONObject();
		if (map != null) {         //实际值
			for (String key : map.keySet()) {
				json1.put(key, map.get(key));
			}
		}
		json.put("data",json1);
		return json.toJSONString();
	}
	public static String getJSONArrayString(int code, String msg, JSONArray jsonArray) {
		JSONObject json = new JSONObject();
		json.put("code", code);   //状态码
		json.put("msg", msg);     //描述信息
		json.put("data",jsonArray);
		return json.toJSONString();
	}
	public static String getJSONObjectString(int code, String msg, JSONObject jsonArray) {
		JSONObject json = new JSONObject();
		json.put("code", code);   //状态码
		json.put("msg", msg);     //描述信息
		json.put("data",jsonArray);
		return json.toJSONString();
	}
	public static String getJSONString(int code, String msg) {
		return getJSONString(code, msg, null);
	}
	public static String getListJSONString(int code, String msg, List<?> list) {
		JSONObject json = new JSONObject();
		json.put("code", code);   //状态码
		json.put("msg", msg);     //描述信息
		JSONObject json1 = new JSONObject();
		if (list != null) {         //实际值
			for(int i=0;i<list.size();i++){
				json1.put(String.valueOf(i),list.get(i));
			}
		}
		json.put("data",json1);
		return json.toJSONString();
	}

	public static String getJSONString(int code) {
		return getJSONString(code, null, null);
	}
}
